﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;

namespace QLKHACHHANG.DanhMucForm
{
    public partial class frmNhaCungCap : DevExpress.XtraEditors.XtraForm
    {
        frmCustomerConfig rootform;
        bool isSingle; //trang thai show tab        
         public frmNhaCungCap(frmCustomerConfig root)
        {
            InitializeComponent();
            rootform = root;
            isSingle = false;
        }
         public frmNhaCungCap()
        {
            InitializeComponent();
            isSingle = true;
        }

         private void frmNhaCungCap_Load(object sender, EventArgs e)
         {
             
             try
             {
                 // TODO: This line of code loads data into the 'ds_Nhacungcap.tbl_NhaCungCap' table. You can move, or remove it, as needed.             
                 this.tbl_NhaCungCapTableAdapter.Connection.ConnectionString = SetConfig.getAppSetting("ConnectionString");
                 this.tbl_NhaCungCapTableAdapter.Fill(this.ds_Nhacungcap.tbl_NhaCungCap);
                 gvNhacungcap.FocusedRowHandle = -999997;
             }
             catch (Exception ex)
             {
                 MessageBox.Show("Vui lòng kiểm tra lại ! \n\n (" + ex.Message + ")", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }

         }

         private void frmNhaCungCap_FormClosing(object sender, FormClosingEventArgs e)
         {
             if (MessageBox.Show("Bạn có muốn thoát khỏi màn hình " + this.Text + " ?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
             {
                 if (!isSingle) rootform.UpdateDanhxung();
             }
             else
             {
                 e.Cancel = true;
             }
         }
         private void ResetForm()
         {
             btThem.Text = "Lưu";
             txtManhacungcap.Properties.ReadOnly = false;
             btXoa.Enabled = false;
             btSua.Enabled = false;
             txtManhacungcap.Focus();
             txtManhacungcap.Text = "";
             txtTennhacungcap.Text = "";
             txtGhichu.Text = "";
             gvNhacungcap.FocusedRowHandle = -999997;
         }

         private void btThem_Click(object sender, EventArgs e)
         {
             if (btThem.Text == "Thêm")
             {
                 // reset
                 ResetForm();
             }
             else
             {
                 //luu 
                 if (txtManhacungcap.Text.Equals("") || txtTennhacungcap.Text.Equals(""))
                 {
                     MessageBox.Show("Vui lòng xem lại thông tin nhập vào !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                     return;
                 }
                 else
                 {
                     try
                     {
                         DataRow row = ds_Nhacungcap.tbl_NhaCungCap.NewRow();
                         row["Manhacungcap"] = txtManhacungcap.Text;
                         row["Tennhacungcap"] = txtTennhacungcap.Text;
                         row["Ghichu"] = txtGhichu.Text;
                         ds_Nhacungcap.tbl_NhaCungCap.Rows.Add(row);
                         this.tbl_NhaCungCapTableAdapter.Update(this.ds_Nhacungcap.tbl_NhaCungCap);
                     }
                     catch (Exception ex)
                     {
                         if (ex.Message.Contains("constrained to be unique"))
                         {
                             MessageBox.Show("Không lưu được do thông tin đã bị trùng, xin vui lòng kiểm tra lại!", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                         }
                         else MessageBox.Show("Lưu thất bại, vui lòng kiểm tra lại ! \n\n (" + ex.Message + ")", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                         return;
                     }

                 }
                 ResetForm();
             }
         }

         private void btXoa_Click(object sender, EventArgs e)
         {
             try
             {
                 if (MessageBox.Show("Bạn có muốn xóa danh xưng có mã: " + txtManhacungcap.Text + " ?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                 {
                     txtManhacungcap.Text = "";
                     txtTennhacungcap.Text = "";
                     txtGhichu.Text = "";
                     gvNhacungcap.DeleteSelectedRows();
                     this.tbl_NhaCungCapTableAdapter.Update(this.ds_Nhacungcap.tbl_NhaCungCap);
                 }

             }
             catch (Exception ex)
             {
                 if (ex.Message.Contains("conflicted"))
                 {
                     MessageBox.Show("Không xóa đơợc do thông tin được sử dụng bởi chức năng khác, vui lòng kiểm tra lại!", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
                 else MessageBox.Show("Xoá thất bại, vui lòng kiểm tra lại ! \n\n (" + ex.Message + ")", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 this.tbl_NhaCungCapTableAdapter.Fill(this.ds_Nhacungcap.tbl_NhaCungCap);
             }
         }

         private void btSua_Click(object sender, EventArgs e)
         {
             try
             {
                 gvNhacungcap.GetFocusedDataRow()["Tennhacungcap"] = txtTennhacungcap.Text;
                 gvNhacungcap.GetFocusedDataRow()["Ghichu"] = txtGhichu.Text;
                 this.tbl_NhaCungCapTableAdapter.Update(this.ds_Nhacungcap.tbl_NhaCungCap);

             }
             catch (Exception ex)
             {
                 MessageBox.Show("Sửa thất bại, vui lòng kiểm tra lại ! \n\n (" + ex.Message + ")", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }

         private void btThoat_Click(object sender, EventArgs e)
         {
             Close();   
         }

         private void gvNhacungcap_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
         {
             if (gvNhacungcap.FocusedRowHandle >= 0)
             {
                 txtManhacungcap.Text = gvNhacungcap.GetFocusedDataRow()["Manhacungcap"].ToString();
                 txtTennhacungcap.Text = gvNhacungcap.GetFocusedDataRow()["Tennhacungcap"].ToString();
                 txtGhichu.Text = gvNhacungcap.GetFocusedDataRow()["Ghichu"].ToString();
                 txtManhacungcap.Properties.ReadOnly = true;
                 btSua.Enabled = true;
                 btXoa.Enabled = true;
                 btThem.Text = "Thêm";
             }
             else
             {
                 ResetForm();
             }
         }

         private void btRefresh_Click(object sender, EventArgs e)
         {
             this.tbl_NhaCungCapTableAdapter.Fill(this.ds_Nhacungcap.tbl_NhaCungCap);
         }


    }
}